Like (Operator)

       

Dient zum Vergleichen zweier Zeichenfolgen.

Syntax

Ergebnis = Zeichenfolge Like Muster

Die Syntax des Operators Like besteht aus folgenden Teilen:

Teil Beschreibung
Ergebnis Erforderlich. Eine beliebige numerische Variable.
Zeichenfolge Erforderlich. Ein beliebiger Zeichenfolgenausdruck.
Muster Erforderlich. Ein beliebiger Zeichenfolgenausdruck mit einem gⁿltigen Vergleichsmuster (wie unter Bemerkungen beschrieben).

Bemerkungen

Wenn Zeichenfolge und Muster ⁿbereinstimmen, ist Ergebnis True. Bei fehlender ▄bereinstimmung ist Ergebnis False. Hat entweder Zeichenfolge oder Muster den Wert Null, so ist Ergebnis ebenfalls Null.

Das Verhalten des Operators Like hΣngt von der Option Compare-Anweisung ab. Die Standardmethode fⁿr den Zeichenfolgenvergleich in allen Modulen ist Option Compare Binary.

Bei Option Compare Binary basieren Zeichenfolgenvergleiche auf einer Sortierreihenfolge, die durch die interne binΣre Darstellung der Zeichen festgelegt ist. Die Sortierreihenfolge wird durch die Code-Seite festgelegt. Das folgende Beispiel zeigt eine typische binΣre Sortierreihenfolge:

A < B < E < Z < a < b < e < z < └ < ╩ < ╪ < α < Ω < °

Option Compare Text fⁿhrt zu Zeichenfolgenvergleichen, die die im Gebietsschema des Systems gewΣhlte Sortierreihenfolge fⁿr Zeichen verwenden (wobei keine Unterschiede in der Gro▀- und Kleinschreibung berⁿcksichtigt werden). Die oben dargestellten Zeichen wⁿrden beim Sortieren mit Option Compare Text folgende Reihenfolge erhalten:

(A=a) < (└=α) < (B=b) < (E=e) < (╩=Ω) < (Z=z) < (╪=°)

Der integrierte Mustervergleich stellt ein vielseitiges Hilfsmittel fⁿr Zeichenfolgenvergleiche dar. Mit den Mustervergleichsfunktionen k÷nnen Sie Platzhalterzeichen, Zeichenlisten oder Zeichenbereiche in einer beliebigen Kombination verwenden, um Zeichenfolgen zu vergleichen. Welche Platzhalterzeichen fⁿr Muster verwendet werden k÷nnen und wofⁿr diese jeweils stehen, ist der folgenden Tabelle zu entnehmen:

Zeichen in Muster Steht in Zeichenfolge fⁿr
? Ein beliebiges einzelnes Zeichen.
* Kein oder mehrere Zeichen.
# Eine beliebige einzelne Ziffer (0 - 9).
[ZeichenListe] Ein beliebiges einzelnes Zeichen in ZeichenListe.
[!ZeichenListe] Ein beliebiges einzelnes Zeichen, das nicht in ZeichenListe enthalten ist.

Eine in eckige Klammern ([ ]) gesetzte Gruppe mit einem oder mehreren Zeichen (ZeichenListe) kann zum Vergleich fⁿr jedes beliebige Zeichen in Zeichenfolge verwendet werden und kann nahezu alle Zeichen-Codes (auch Ziffern) enthalten.

Anmerkung   Die Sonderzeichen linke Klammer ([), Fragezeichen (?), das Zeichen # und das Sternchen (*) mⁿssen in eckige Klammern gesetzt werden, um fⁿr einen Vergleich herangezogen werden zu k÷nnen. Die rechte eckige Klammer (]) kann nicht innerhalb einer Gruppe zu vergleichender Zeichen verwendet werden. Sie kann jedoch au▀erhalb einer Gruppe als einzelnes Zeichen angegeben werden.

Sie k÷nnen in ZeichenListe auch einen Bereich von Zeichen angeben, indem Sie den gr÷▀ten und den kleinsten Wert des Bereichs getrennt durch einen Bindestrich (-) angeben. [A-Z] fⁿhrt zum Beispiel zu einer ▄bereinstimmung, wenn die entsprechende Zeichenposition in Zeichenfolge einen Gro▀buchstaben im Bereich von A bis Z enthΣlt. Mehrere Bereiche k÷nnen Sie ohne weitere Trennzeichen nacheinander in einem Klammernpaar angeben.

Die Bedeutung des angegebenen Bereichs hΣngt von der zur Laufzeit geltenden Zeichenreihenfolge ab (die durch Option Compare und das Gebietsschema auf dem ausfⁿhrenden System festgelegt wird). Im beschriebenen Beispiel fⁿr Option Compare Binary [A-E] ist A, B und E im Bereich [AûE] enthalten. Bei Option Compare Text] sind die Zeichen A, a, └, α, B, b, E, e im Bereich [AûE] enthalten. ╩ oder Ω sind nicht enthalten, weil Zeichen mit einem Akzent in der Sortierreihenfolge hinter den entsprechenden Zeichen ohne Akzent liegen.

Nachfolgend weitere wichtige Regeln zum Mustervergleich:

In einigen Sprachen gibt es bestimmte Zeichen im Alphabet, die eigentlich zwei separate Zeichen darstellen. In verschiedenen Sprachen wird zum Beispiel das Zeichen "µ" verwendet, um die Zeichen "a" und "e" darzustellen, wenn Sie nebeneinander erscheinen. Der Operator Like erkennt, da▀ das einzelne Sonderzeichen und die beiden einzelnen Zeichen gleichwertig sind.

Wenn eine Sprache, in der eines dieser Sonderzeichen verwendet wird, in den LΣndereinstellungen des Systems angegeben ist, wird eine ▄bereinstimmung des einzelnen Sonderzeichens entweder in Muster oder in Zeichenfolge mit der entsprechenden Folge aus zwei Zeichen in der anderen Zeichenfolge erkannt. Genauso wird eine ▄bereinstimmung zwischen einem einzelnen Sonderzeichen in Muster, das in eckige Klammern eingeschlossen ist (als einzelnes Zeichen, in einer Liste oder in einem Bereich), und der entsprechenden Folge aus zwei Zeichen in Zeichenfolge erkannt.